package com.jingyanzi.finance.service;

import com.jingyanzi.finance.domain.CashPlaceDO;
import com.jingyanzi.finance.query.CashPlaceQueryDO;
import com.jingyanzi.finance.result.ResultDO;
/**
* <b>Description:收银地点管理</b><br> 
* @author Reading.Reagan</a>
* @version 1.0
* @Note
* <b>ProjectName:</b> finance-api
* <br><b>PackageName:</b> com.jingyanzi.finance.service
* <br><b>ClassName:</b> IPlaceService
* <br><b>Date:</b> 2018年7月11日 下午5:17:25
 */
public interface IPlaceService {

	/**
	* <b>Description:添加收银地点 返回true成功 返回false失败</b><br> 
	* @param domain 收银地点DO
	* @return
	* ResultDO 
	* @Note
	* <b>Author:</b> Reading.Reagan
	* <br><b>Date:</b> 2018年7月11日 下午5:17:36
	* <br><b>Version:</b> 1.0
	 */
	public ResultDO add(CashPlaceDO domain);
	
	/**
	* <b>Description:修改收银地点 返回true成功 返回false失败</b><br> 
	* @param domain 收银地点DO
	* @return
	* ResultDO 
	* @Note
	* <b>Author:</b> Reading.Reagan
	* <br><b>Date:</b> 2018年7月11日 下午5:18:04
	* <br><b>Version:</b> 1.0
	 */
	public ResultDO modifi(CashPlaceDO domain);
	
	/**
	* <b>Description:批量删除收银地点</b><br> 
	* @param ids 收银地点的id数组
	* @return
	* ResultDO 
	* @Note
	* <b>Author:</b> Reading.Reagan
	* <br><b>Date:</b> 2018年7月11日 下午5:18:41
	* <br><b>Version:</b> 1.0
	 */
	public ResultDO remove(Integer[] ids);
	
	/**
	* <b>Description:返回收银地点对象</b><br> 
	* @param id 收银地点ID
	* @return
	* ResultDO 
	* @Note
	* <b>Author:</b> Reading.Reagan
	* <br><b>Date:</b> 2018年7月11日 下午5:19:18
	* <br><b>Version:</b> 1.0
	 */
	public ResultDO get(Integer id);
	
	/**
	* <b>Description:根据收银员的员工ID返回收银点数据</b><br> 
	* @param id 收银员的员工ID
	* @return
	* ResultDO 
	* @Note
	* <b>Author:</b> Reading.Reagan
	* <br><b>Date:</b> 2018年7月11日 下午5:19:47
	* <br><b>Version:</b> 1.0
	 */
	public ResultDO getPlaceByEmployeeId(Integer id);
	
	/**
	* <b>Description:查询收银地点 query.isPage 设置true为分页方式 设置false为不分页方式</b><br> 
	* @param query
	* @return
	* ResultDO 
	* @Note
	* <b>Author:</b> Reading.Reagan
	* <br><b>Date:</b> 2018年7月11日 下午5:20:21
	* <br><b>Version:</b> 1.0
	 */
	public ResultDO query(CashPlaceQueryDO query);
	
	public ResultDO band(CashPlaceDO domain);
	
	public ResultDO unBand(CashPlaceDO domain);
}
